def xiangjiao(k1, k2):
    if k1 == k2:
        return True
    else:
        return False

def point(k1, b1, k2, b2):
    x = (b2 - b1) / (k1 - k2)
    y = k1 * x + b1
    return (x, y)

n = int(input())
a = [list(map(int,input().split())) for _ in range(n)]
ans = 1
exist = []

for i in a:
    points = set()
    if i in exist:
        continue
    for j in exist:
        if not xiangjiao(i[0], j[0]):
            p = point(i[0], i[1], j[0], j[1])
            points.add(p)
    ans += len(points) + 1
    exist.append(i)

print(ans)
            
